package deepr.filter;


import deepr.exception.DeeprException;
import deepr.filter.FilterParser;
import deepr.core.PropertyData;

import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;

public interface DbFilterActionBehavior {

  StringBuilder like(FilterParser parser, String object, String property, String paramKey, Object value) throws DeeprException;

  StringBuilder between(FilterParser parser, String object, String property, String paramKey, Object value) throws DeeprException;

  StringBuilder restAction(FilterParser parser, String object, String property, String paramKey, Object value) throws DeeprException;

  StringBuilder jsonKey(FilterParser parser, String object, PropertyData properData, String property, String[] jsonKeys, Object value) throws Exception;

  StringBuilder jsonAt(FilterParser parser, String object, String property, String paramKey, Object value) throws DeeprException;

  StringBuilder valueArray(FilterParser parser, String object, String property, String paramKey, Object value) throws DeeprException;

  StringBuilder propertyArray(FilterParser parser, String object, String property, String paramKey, Object value) throws DeeprException;

  StringBuilder twoArray(FilterParser parser, String object, String property, String paramKey, Object value) throws DeeprException;

}
